Löschauftrag erstellen
Das Anlegen von Objekten gehört zum Alltag eines SAP-Entwicklers. Auch das Löschen von Objekten gehört dazu. Wenn man ein Objekt löscht, wird es jedoch als ganz normales Objekt in einen ganz normalen Transportauftrag aufgenommen. Erst bei Freigabe des Transportauftrags prüft das System, ob das Objekt vorhanden ist oder nicht. Ist es nicht vorhanden, dann wird in dem Transportauftrag das Objekt als “zu löschen” markiert.
Leider funktioniert es nicht, das Löschkennzeichen in der Tabelle E071, in der die Transportobjekte eines Auftrags gespeichert werden, zu setzen. Um einen Löschauftrag zu erzeugen, benötigt man in der Regel ein anderes System, in dem die Objekte nicht vorhanden sind. In diesem System übernimmt man die Objekte in einen Transportauftrag und gibt diesen frei.
Eine andere Möglichkeit, ist die Erzeugung eines “echten” Löschauftrags per Programm. Hierbei muss allerdings ein bisschen getrickst werden, weil das Verfahren von SAP offiziell nicht unterstützt wird.
Vorgehen
Folgendes Vorgehen ist notwendig, um einen Löschauftrag zu erstellen.
Anlage eines Transport-Of-Copies
Ein Löschauftrag kann nicht direkt angelegt werden. Deswegen Legst du einen Auftrag vom Typ Transport von Kopien an. Du kannst auch einen normalen Workbench-Auftrag anlegen, aber wenn die Objekte evtl. noch in einem Transportauftrag gesperrt sind, dann ist nur ein Transport-von-Kopien möglich.
Übernahme der Objekte
Die zu löschenden Objekte übernimmst du nun manuell oder durch die Funktion Auftrag/ Aufgabe ● Objektliste ● Objekte aufnehmen im Transport Organizer.
Update E070 für den neuen Auftrag
In Tabelle E070 werden die Transportaufträge gespeichert. In dieser Tabelle musst du, zum Beispiel mit Hilfe der Transaktion SE16n und der Funktion &sap_edit, die Funktion “L = Löschauftrag” im Feld TRFUNCTION setzen.
Achtung! Der Auftrag taucht nun nicht mehr in der Übersicht im Transport-Organizer auf!
Freigabe des Löschauftrags
Da der Löschauftrag nicht mehr in der Übersicht im Transport-Organizer auftaucht (Transaktion SE09), kannst du den Auftrag auch nicht manuell im Dialog freigeben.
Um den Auftrag freizugeben, musst du den Function Builder (Transaktion SE37) aufrufen und den Funktionsbaustein TRINT_TP_INTERFACE ausführen.
Fülle die Parameter IV_TP_COMMAND mit “R3E”, IV_TRANSPORT_REQUEST mit der Nummer deines Lösch-Transportauftrags und IV_UMODES mit “1”. Dann Ausführen klicken und der Auftrag wird exportiert. Eventuell taucht der Auftrag nicht in der Transportqueue des Folgesystems auf. In dem Fall musst du den Auftrag in der Transaktion STMS manuell über Zusätze ● Weitere Aufträge ● Anhängen in die Transportqueue stellen.
- Meine Eclipse-Plugins - 22. November 2024
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024